// BPMN设计器中文翻译提供者
export default function ChineseTranslateProvider(translate) {
  console.log('ChineseTranslateProvider 初始化...')
  
  // 中文翻译映射
  const translations = {
    // 调色板元素
    'Start Event': '开始事件',
    'End Event': '结束事件',
    'Task': '任务',
    'User Task': '用户任务',
    'Service Task': '服务任务',
    'Script Task': '脚本任务',
    'Manual Task': '手工任务',
    'Business Rule Task': '业务规则任务',
    'Send Task': '发送任务',
    'Receive Task': '接收任务',
    'Exclusive Gateway': '排他网关',
    'Parallel Gateway': '并行网关',
    'Inclusive Gateway': '包容网关',
    'Event-based Gateway': '事件网关',
    'Complex Gateway': '复杂网关',
    'Sub Process': '子流程',
    'Call Activity': '调用活动',
    'Data Object': '数据对象',
    'Data Store': '数据存储',
    'Text Annotation': '文本注释',
    'Group': '组',
    'Boundary Event': '边界事件',
    'Intermediate Event': '中间事件',
    'Message': '消息',
    'Timer': '定时器',
    'Error': '错误',
    'Escalation': '升级',
    'Cancel': '取消',
    'Compensation': '补偿',
    'Conditional': '条件',
    'Link': '链接',
    'Signal': '信号',
    'Multiple': '多重',
    'Parallel Multiple': '并行多重',
    'Terminate': '终止',

    // 属性面板
    'General': '常规',
    'Details': '详细信息',
    'Documentation': '文档',
    'Extension Properties': '扩展属性',
    'Form Fields': '表单字段',
    'Listeners': '监听器',
    'Multi Instance': '多实例',
    'Asynchronous Continuations': '异步延续',
    'Job Configuration': '作业配置',
    'Input/Output': '输入/输出',
    'Execution': '执行',
    'Task Listener': '任务监听器',
    'Execution Listener': '执行监听器',

    // 属性字段
    'ID': '标识符',
    'Name': '名称',
    'Assignee': '指派人',
    'Candidate Users': '候选用户',
    'Candidate Groups': '候选组',
    'Due Date': '到期日期',
    'Follow Up Date': '跟进日期',
    'Priority': '优先级',
    'Form Key': '表单键',
    'Form Data': '表单数据',
    'Form Type': '表单类型',
    'Form Field': '表单字段',
    'Field ID': '字段标识符',
    'Field Label': '字段标签',
    'Field Type': '字段类型',
    'Default Value': '默认值',
    'Validation': '验证',
    'Properties': '属性',
    'Value': '值',
    'Type': '类型',
    'Required': '必需',
    'Readable': '可读',
    'Writable': '可写',
    'Variable Name': '变量名',
    'Variable Type': '变量类型',
    'Variable Value': '变量值',
    'Script Format': '脚本格式',
    'Script Type': '脚本类型',
    'Script': '脚本',
    'Result Variable': '结果变量',
    'Resource': '资源',
    'Topic': '主题',
    'Message Name': '消息名称',
    'Message Payload': '消息载荷',
    'Correlation Key': '关联键',
    'Time Date': '时间日期',
    'Time Duration': '时间持续时间',
    'Time Cycle': '时间周期',
    'Error Code': '错误代码',
    'Error Message': '错误消息',
    'Escalation Code': '升级代码',
    'Condition': '条件',
    'Condition Expression': '条件表达式',
    'Signal Name': '信号名称',
    'Signal Scope': '信号范围',
    'Link Name': '链接名称',
    'Target': '目标',
    'Source': '源',
    'Compensation Activity': '补偿活动',
    'Wait for Completion': '等待完成',
    'Activity Ref': '活动引用',
    'Collection': '集合',
    'Element Variable': '元素变量',
    'Completion Condition': '完成条件',
    'Sequential': '顺序',
    'Parallel': '并行',
    'Loop Cardinality': '循环基数',
    'Async Before': '异步前',
    'Async After': '异步后',
    'Exclusive': '排他',
    'Retry Time Cycle': '重试时间周期',
    'Job Priority': '作业优先级',
    'Job Type': '作业类型',
    'Input Parameter': '输入参数',
    'Output Parameter': '输出参数',
    'Local Variable': '本地变量',
    'Input Mapping': '输入映射',
    'Output Mapping': '输出映射',

    // 工具栏
    'New': '新建',
    'Open': '打开',
    'Save': '保存',
    'Export XML': '导出XML',
    'Export SVG': '导出SVG',
    'Zoom In': '放大',
    'Zoom Out': '缩小',
    'Reset Zoom': '重置缩放',
    'Fit Viewport': '适应视口',
    'Undo': '撤销',
    'Redo': '重做',
    'Delete': '删除',
    'Copy': '复制',
    'Paste': '粘贴',
    'Select All': '全选',
    'Align Left': '左对齐',
    'Align Center': '居中对齐',
    'Align Right': '右对齐',
    'Align Top': '顶部对齐',
    'Align Middle': '中间对齐',
    'Align Bottom': '底部对齐',
    'Distribute Horizontally': '水平分布',
    'Distribute Vertically': '垂直分布',

    // 上下文菜单
    'Append Start Event': '添加开始事件',
    'Append End Event': '添加结束事件',
    'Append Task': '添加任务',
    'Append Gateway': '添加网关',
    'Append Sub Process': '添加子流程',
    'Append Boundary Event': '添加边界事件',
    'Append Intermediate Event': '添加中间事件',
    'Append Text Annotation': '添加文本注释',
    'Append Data Object': '添加数据对象',
    'Append Data Store': '添加数据存储',
    'Append Group': '添加组',
    'Connect': '连接',
    'Disconnect': '断开连接',
    'Replace': '替换',
    'Remove': '移除',
    'Edit': '编辑',
    'Cut': '剪切',
    'Move': '移动',
    'Resize': '调整大小',
    'Bring to Front': '置于顶层',
    'Send to Back': '置于底层',
    'Bring Forward': '上移一层',
    'Send Backward': '下移一层',

    // 验证消息
    'Element must have an ID': '元素必须有标识符',
    'Element must have a name': '元素必须有名称',
    'Invalid ID format': '无效的标识符格式',
    'ID already exists': '标识符已存在',
    'Invalid condition expression': '无效的条件表达式',
    'Invalid script format': '无效的脚本格式',
    'Invalid date format': '无效的日期格式',
    'Invalid number format': '无效的数字格式',
    'Required field is empty': '必填字段为空',
    'Invalid email format': '无效的邮箱格式',
    'Invalid URL format': '无效的URL格式',

    // 提示信息
    'Select an element to edit properties': '选择一个元素来编辑属性',
    'Click and drag to create connection': '点击并拖拽创建连接',
    'Double-click to edit element name': '双击编辑元素名称',
    'Right-click for context menu': '右键显示上下文菜单',
    'Use keyboard shortcuts for quick access': '使用键盘快捷键快速访问',
    'Save your work regularly': '定期保存您的工作',
    'Export to share with others': '导出以与他人分享',
    'Import existing BPMN files': '导入现有的BPMN文件',

    // 状态信息
    'Ready': '就绪',
    'Loading': '加载中',
    'Saving': '保存中',
    'Exporting': '导出中',
    'Importing': '导入中',
    'Success': '成功',
    'Warning': '警告',
    'Info': '信息',

    // 对话框标题
    'Properties Panel': '属性面板',
    'BPMN Designer': 'BPMN设计器',
    'Process Designer': '流程设计器',
    'Workflow Designer': '工作流设计器',
    'Save Diagram': '保存流程图',
    'Load Diagram': '加载流程图',
    'Export Diagram': '导出流程图',
    'Import Diagram': '导入流程图',
    'Diagram Settings': '图表设置',
    'Preferences': '首选项',
    'About': '关于',
    'Help': '帮助',
    'Keyboard Shortcuts': '键盘快捷键',
    'User Guide': '用户指南',
    'Support': '支持',
    'Feedback': '反馈',
    'Report Issue': '报告问题',
    'Check for Updates': '检查更新',
    'Version Info': '版本信息'
  }

  // 重写translate函数
  try {
    translate.addTranslations('zh-CN', translations)
    translate.setLanguage('zh-CN')
    console.log('ChineseTranslateProvider 翻译设置成功')
  } catch (error) {
    console.error('ChineseTranslateProvider 翻译设置失败:', error)
  }
}

// 注册翻译提供者
ChineseTranslateProvider.$inject = ['translate']